<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 利用构造函数创建对象
        // 构造函数的语法格式
        // function 构造函数名() {
        //     this.属性 = 值;
        //     this.方法 = function() {}
        // }
        // new 构造函数();
        // function Star(uname, age, sex) {
        //     this.name = uname;
        //     this.age = age;
        //     this.sex = sex;
        //     this.sing = function(song) {
        //         console.log(song);
        //     }
        // }
        // var ldh = new Star('刘德华', 18, '男'); //调用函数返回的是一个对象
        // // console.log(typeof ldh);
        // console.log(ldh.name, ldh.age);
        // ldh.sing('冰雨');
        // var zxy = new Star('张学友', 19, '男');
        // console.log(zxy.name, zxy['age']);
        // zxy.sing('李香兰');

        // 1.构造函数名字首字母要大写
        // 2.我们构造函数不需要return 就可以返回结果
        // 3.我们调研构造函数 必须使用 new
        // 4.只要new Star() 调用函数就创建一个对象 ldh{}
        // 5.我们的属性和方法前面必须添加 this

        function Hero(uname, type, blood) {
            this.name = uname;
            this.type = type;
            this.blood = blood;
            this.attack = function(gj) {
                return gj;
            }
        }
        var lp = new Hero('廉颇', '力量型', '500血量');
        console.log(lp.name, lp.type, lp.blood, lp.attack('近战'));
        var hy = new Hero('后羿', '射手型', '100血量');
        console.log(hy.name, hy.type, hy.blood, hy.attack('远程'));
    </script>
</head>

<body>

</body>

</html>